//
//  Person.m
//  StudyingDemo
//
//  Created by GuoMS on 2018/6/9.
//  Copyright © 2018年 gms. All rights reserved.
//

#import "Person.h"

@implementation Person

- (instancetype)init {
    
    if (self = [super init]) {
        _dog = [[Dog alloc]init];
        _dataArr = [NSMutableArray array];
    }
    
    return self;
    
}


///**
// 当监听整个对象时 要重写这个方法，返回需要监听的对象
// */
//
//+ (NSSet<NSString *> *)keyPathsForValuesAffectingValueForKey:(NSString *)key {
//
//    //监听所有对象
//    NSSet *set = [super keyPathsForValuesAffectingValueForKey:key];
//    if ([key isEqualToString:@"dog"]) {
//        NSArray *arr = @[@"_dog.name",@"_dog.age"];
//        set = [set setByAddingObjectsFromArray:arr];
//    }
//    
//    return set;
//}



///**
// 当监听整个对象时 要重写这个方法 监听某个对象
// */
//+ (NSSet<NSString *> *)keyPathsForValuesAffectingAge {
//
//    return [super keyPathsForValuesAffectingValueForKey:@"age"];
//}


///**
// 是否自动监听KVO
//
// @param key key
// */
//+ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key {
//    //根据key判断是否自动通知
//    if ([key isEqualToString:@"age"]) {
//        return YES;
//    }
//    return NO;
//}

///**
// 是否自动监听keypath为age的kvo
// */
//+ (BOOL)automaticallyNotifiesObserversOfAge {
//
//    return NO;
//}

@end
